package ar.edu.caece.dns.modelo;

import java.util.Collection;

import ar.edu.caece.dns.modelo.registros.NombreDominio;
import ar.edu.caece.dns.modelo.registros.RegistroRecurso;

/**
 * Esta clase crea instancias de RepositorioRegistro a partir de los datos
 * determinados.
 * 
 * @see RepositorioRegistro
 * @see NombreDominio
 * @see RegistroRecurso
 * @author Portillol
 * 
 */
public class RepositorioRegistroBuilder {

	private NombreDominio nombreDominio;

	private Collection<RegistroRecurso> registros;

	public RepositorioRegistroBuilder with(NombreDominio nombreDominio) {
		this.nombreDominio = nombreDominio;
		return this;
	}

	public RepositorioRegistroBuilder with(Collection<RegistroRecurso> registros) {
		this.registros = registros;
		return this;
	}

	public RepositorioRegistro build() {
		RepositorioRegistro repositorio;

		repositorio = new RepositorioRegistroImpl();
		((RepositorioRegistroImpl) repositorio).setNombreDominio(nombreDominio);
		((RepositorioRegistroImpl) repositorio).setRegistros(registros);

		return repositorio;
	}

}
